Embedding Weak Memory Models within Eager Sequentialization

نویسندگان

  • Ermenegildo Tomasco
  • Truc L. Nguyen
  • Bernd Fischer
  • Salvatore La Torre
  • Gennaro Parlato
چکیده

Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent programs. However, existing sequentializations assume sequential consistency, which modern hardware architectures no longer guarantee. In this paper we describe an approach to embed weak memory models within eager sequentializations (a la Lal/Reps). Our approach is based on the separation of intra-thread computations from inter-thread communications by means of a shared memory abstraction (SMA). We give details of SMA implementations for the SC, TSO, and PSO memory models that are based on the idea of individual memory unwindings, and sketch an extension to the Power memory model. We use our approach to implement a new, efficient BMC-based bug finding tool for multi-threaded C programs under SC, TSO, or PSO based on these SMAs, and show experimentally that it is competitive to existing tools.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Shared Memory Abstractions to Design Eager Sequentializations for Weak Memory Models

Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent programs. However, existing sequentializations assume sequential consistency, which modern hardware architectures no longer guarantee. In this paper we describe an approach to embed weak memory models within eager sequentializations. Our approach is based on the separation of intrathread computatio...

متن کامل

Semantics of Barriers in a Non - Strict ,

Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper, we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers i...

متن کامل

Sequentialization and Procedural Complexity in Automata Networks

In this article we consider finite automata networks (ANs) with two kinds of update schedules: the parallel one (all automata are updated all together) and the sequential ones (the automata are updated periodically one at a time according to a total order w). The cost of sequentialization of a given AN h is the number of additional automata required to simulate h by a sequential AN with the sam...

متن کامل

Semantics of Barriers in a Non-strict, Implicitly-parallel Language Semantics of Barriers in a Non-strict, Implicitly-parallel Language

Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers in...

متن کامل

MU-CSeq: Sequentialization of C Programs by Shared Memory Unwindings - (Competition Contribution)

We implement a new sequentialization algorithm for multi-threaded C programs with dynamic thread creation as a new CSeq module. The novel basic idea of this algorithm is to fix (by a nondeterministic guess) the sequence of write operations in the shared memory and then simulate the behavior of the program according to any scheduling that respects this choice. Simulation is done threadby-thread ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016